package com.hsgene.order.dto.peanut;

import com.fasterxml.jackson.annotation.JsonIgnore;

import java.io.Serializable;
import java.util.Date;

/**
 * 花生仁地服订单列表项DTO
 *
 * @author wangbing
 * @version 1.0, 2018/9/18
 */
public class PeanutOrderItemDto implements Serializable {

    private static final long serialVersionUID = -4365390966724843401L;
    /**
     * 基因检测下单时间(创建时间)
     */
    private Date createDate;

    /**
     * 是否已上传DCW标志【1：已经上传DCW，可以录入申请；0：没有上传DCW,不可以录入申请】
     */
    private String hasDcw;

    /**
     * 基因检测单ID
     */
    private String id;

    /**
     * 快递-发票
     */
    @JsonIgnore
    private SimpleExpressModelDto invoiceExpressModel;

    /**
     * 医生姓名
     */
    private String memberName;

    /**
     * 确认收件标志【0：不可以确认收件，不展示确认收件按钮；1：可以确认收件，展示确认收件按钮】
     */
    private String needConfirmRecieved;

    /**
     * 30天未上传申请录入上传DCW警告标志【0：正常；1：30天没有上传DCW，需要醒目提醒】
     */
    private String needWarnRequested;

    /**
     * 是否需要补寄样本标志【0：不需要；1：需要】
     */
    @JsonIgnore
    private String needSupplyAddition;

    /**
     * 是否需要补款标志【0：不需要；1：需要】
     */
    @JsonIgnore
    private String needPayAddition;

    /**
     * 检测单号
     */
    private String orderNo;

    /**
     * 患者姓名
     */
    private String patientName;

    /**
     * 支付状态【0：未支付；1：支付中，待确认；2：支付成功】
     */
    private Integer paymentState;

    /**
     * 快递-报告
     */
    @JsonIgnore
    private SimpleExpressModelDto reportExpressModel;

    /**
     * 报告状态【init：初始；done：已完成；delivered：已寄送】
     */
    private String reportStatus;

    /**
     * 上传DCW标志位
     * 0：初始，不可以上传DCW和申请录入，不展示相关操作按钮
     * 1：结束，已经上传了DCW并录入申请，不展示相关操作按钮
     * 2：可以上传DCW和申请录入，展示相关操作按钮
     * null：初始，不可以上传DCW和申请录入，不展示相关操作按钮
     */
    private String requested;

    /**
     * 查看二维码标志位【0：不可以查看二维码；1：可以查看二维码，展示相关操作按钮】
     */
    private String showQrCode;

    /**
     * 检测单状态
     */
    private String status;

    /**
     * 检测单状态名称
     */
    private String statusDictLabel;

    /**
     * 快递-蜡块
     */
    @JsonIgnore
    private SimpleExpressModelDto waxExpressModel;

    /**
     * 完善订单标志(0不可完善操作，1可以完善操作)
     */
    private String needSupplyExpress;

    /**
     * 首单奖励(0-不满足首单奖励,1-首单奖励未发,2-首单奖励已发)
     */
    private Integer firstSingleAward;

    /**
     * 订单来源：‘1-运营后台’，‘2-花生仁’，‘3-金琉璃’，‘4-因子网小程序’，‘5-因子网PC’，‘6-因子网APP’
     */
    private Integer orderOrigin;

    /**
     * 是否显示完善按钮
     */
    private Boolean canShowCompleteBtn;

    /**
     * 是否关闭订单 0、否 1、是
     */
    private Integer isClosed = 0;

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getHasDcw() {
        return hasDcw;
    }

    public void setHasDcw(String hasDcw) {
        this.hasDcw = hasDcw;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public SimpleExpressModelDto getInvoiceExpressModel() {
        return invoiceExpressModel;
    }

    public void setInvoiceExpressModel(SimpleExpressModelDto invoiceExpressModel) {
        this.invoiceExpressModel = invoiceExpressModel;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getNeedConfirmRecieved() {
        return needConfirmRecieved;
    }

    public void setNeedConfirmRecieved(String needConfirmRecieved) {
        this.needConfirmRecieved = needConfirmRecieved;
    }

    public String getNeedWarnRequested() {
        return needWarnRequested;
    }

    public void setNeedWarnRequested(String needWarnRequested) {
        this.needWarnRequested = needWarnRequested;
    }

    public String getNeedSupplyAddition() {
        return needSupplyAddition;
    }

    public void setNeedSupplyAddition(String needSupplyAddition) {
        this.needSupplyAddition = needSupplyAddition;
    }

    public String getNeedPayAddition() {
        return needPayAddition;
    }

    public void setNeedPayAddition(String needPayAddition) {
        this.needPayAddition = needPayAddition;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    public Integer getPaymentState() {
        return paymentState;
    }

    public void setPaymentState(Integer paymentState) {
        this.paymentState = paymentState;
    }

    public SimpleExpressModelDto getReportExpressModel() {
        return reportExpressModel;
    }

    public void setReportExpressModel(SimpleExpressModelDto reportExpressModel) {
        this.reportExpressModel = reportExpressModel;
    }

    public String getReportStatus() {
        return reportStatus;
    }

    public void setReportStatus(String reportStatus) {
        this.reportStatus = reportStatus;
    }

    public String getRequested() {
        return requested;
    }

    public void setRequested(String requested) {
        this.requested = requested;
    }

    public String getShowQrCode() {
        return showQrCode;
    }

    public void setShowQrCode(String showQrCode) {
        this.showQrCode = showQrCode;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatusDictLabel() {
        return statusDictLabel;
    }

    public void setStatusDictLabel(String statusDictLabel) {
        this.statusDictLabel = statusDictLabel;
    }

    public SimpleExpressModelDto getWaxExpressModel() {
        return waxExpressModel;
    }

    public void setWaxExpressModel(SimpleExpressModelDto waxExpressModel) {
        this.waxExpressModel = waxExpressModel;
    }

    public String getNeedSupplyExpress() {
        return needSupplyExpress;
    }

    public void setNeedSupplyExpress(String needSupplyExpress) {
        this.needSupplyExpress = needSupplyExpress;
    }

    public Integer getFirstSingleAward() {
        return firstSingleAward;
    }

    public void setFirstSingleAward(Integer firstSingleAward) {
        this.firstSingleAward = firstSingleAward;
    }

    public Integer getOrderOrigin() {
        return orderOrigin;
    }

    public void setOrderOrigin(Integer orderOrigin) {
        this.orderOrigin = orderOrigin;
    }

    public Boolean getCanShowCompleteBtn() {
        return canShowCompleteBtn;
    }

    public void setCanShowCompleteBtn(Boolean canShowCompleteBtn) {
        this.canShowCompleteBtn = canShowCompleteBtn;
    }

    public Integer getIsClosed() {
        return isClosed;
    }

    public void setIsClosed(Integer isClosed) {
        this.isClosed = isClosed;
    }
}
